package com.etl.sys.vo;

import lombok.*;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@ToString
public class ScheduleVO implements Serializable {

    private static final long serialVersionUID = -2300913996158811245L;

    @NotNull(message = "影院ID不能为空")
    private Long cinemaId;

    private String cinemaCode;

    private String cinemaName;

    private Long databaseId;

    @NotNull(message = "模块ID不能为空")
    private Long moduleId;

    private String moduleCode;

    private String moduleName;

    @NotNull(message = "任务ID不能为空")
    private Long taskId;

    private String taskCode;

    private String taskName;

    private Long scheduleId;

    private String shortName;

    @NotBlank(message = "CRON表达式不能为空")
    private String timeCron;

    @NotNull(message = "最大数量不能为空")
    @Min(1)
    @Max(Integer.MAX_VALUE)
    private Integer limitNum;

    private LocalDateTime execTimeStart;

    private LocalDateTime execTimeEnd;
}
